package com.yxinsur.imc.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yxinsur.imc.business.domain.ImcContract;
import com.yxinsur.imc.business.form.ContractForm;
import com.yxinsur.imc.business.vo.ContractVo;
import com.yxinsur.imc.common.core.domain.AjaxResult;

import java.util.List;

/**
 * 协议管理Service接口
 *
 * @author imc
 * @date 2021-04-22
 */
public interface IImcContractService extends IService<ImcContract> {
    /**
     * 协议管理-查询列表
     *
     * @param contractForm 协议
     * @return List<ContractVo>
     */
    List<ContractVo> selectImcContractList(ContractForm contractForm);

    /**
     * 查询主协议列表
     *
     * @param id             当前协议ID
     * @param repoSupplierId 供应商ID
     * @return List<ContractVo>
     */
    List<ContractVo> listMasterContract(Long id, Long repoSupplierId);

    /**
     * 协议管理-查询详情
     *
     * @param id 协议id
     * @return ContractVo
     */
    ContractVo selectImcContractById(Long id);

    /**
     * 协议管理-新增协议
     *
     * @param contractForm 协议
     * @return 结果
     */
    AjaxResult insertImcContract(ContractForm contractForm);

    /**
     * 修改协议
     *
     * @param contractForm 协议
     * @return 结果
     */
    AjaxResult updateImcContract(ContractForm contractForm);

    /**
     * 删除协议
     *
     * @param id 协议ID
     * @return 结果
     */
    AjaxResult deleteImcContractById(Long id);
}
